.cropper-container {
	position: relative;
	font-size: 0;
	line-height: 0;
	direction: ltr;
	touch-action: none;
}

.cropper-container img {
	display: block;
	inline-size: 100%;
	min-inline-size: 0 !important;
	max-inline-size: none !important;
	block-size: 100%;
	min-block-size: 0 !important;
	max-block-size: none !important;
	image-orientation: 0deg;
}

.cropper-wrap-box,
.cropper-canvas,
.cropper-drag-box,
.cropper-crop-box,
.cropper-modal {
	position: absolute;
	inset-block: 0;
	inset-inline: 0;
}

.cropper-wrap-box,
.cropper-canvas {
	overflow: hidden;
}

.cropper-drag-box {
	background-color: #fff;
	opacity: 0;
}

.cropper-modal {
	background-color: #000;
	opacity: 0.5;
}

.cropper-view-box {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	overflow: hidden;
	outline: 1px solid var(--theme--primary);
	outline-color: var(--theme--primary-subdued);
}

.cropper-dashed {
	position: absolute;
	display: block;
	border: 0 dashed #fff;
	border-style: solid;
	box-shadow: 0 0 0 1px rgb(0 0 0 / 0.3);
	opacity: 0.4;
}

.cropper-dashed.dashed-h {
	inset-block-start: calc(100% / 3);
	inset-inline-start: 0;
	inline-size: 100%;
	block-size: calc(100% / 3);
	border-block-start-width: 1px;
	border-block-end-width: 1px;
}

.cropper-dashed.dashed-v {
	inset-block-start: 0;
	inset-inline-start: calc(100% / 3);
	inline-size: calc(100% / 3);
	block-size: 100%;
	border-inline-end-width: 1px;
	border-inline-start-width: 1px;
}

.cropper-center {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	display: block;
	inline-size: 0;
	block-size: 0;
	opacity: 0.75;
}

.cropper-center::before,
.cropper-center::after {
	position: absolute;
	display: block;
	background-color: var(--theme--form--field--input--background-subdued);
	content: ' ';
}

.cropper-center::before {
	inset-block-start: 0;
	inset-inline-start: -3px;
	inline-size: 7px;
	block-size: 1px;
}

.cropper-center::after {
	inset-block-start: -3px;
	inset-inline-start: 0;
	inline-size: 1px;
	block-size: 7px;
}

.cropper-face,
.cropper-line,
.cropper-point {
	position: absolute;
	display: block;
	inline-size: 100%;
	block-size: 100%;
	opacity: 0.1;
}

.cropper-face {
	inset-block-start: 0;
	inset-inline-start: 0;
	background-color: var(--foreground-inverted);
}

.cropper-line {
	background-color: #000;
	opacity: 0.05;
}

.cropper-line.line-e {
	inset-block-start: 0;
	inset-inline-end: -3px;
	inline-size: 5px;
	cursor: ew-resize;
}

.cropper-line.line-n {
	inset-block-start: -3px;
	inset-inline-start: 0;
	block-size: 5px;
	cursor: ns-resize;
}

.cropper-line.line-w {
	inset-block-start: 0;
	inset-inline-start: -3px;
	inline-size: 5px;
	cursor: ew-resize;
}

.cropper-line.line-s {
	inset-block-end: -3px;
	inset-inline-start: 0;
	block-size: 5px;
	cursor: ns-resize;
}

.cropper-point {
	inline-size: 10px;
	block-size: 10px;
	background: #fff;
	border-radius: 50%;
	opacity: 1;
}

.cropper-point.point-e {
	inset-block-start: 50%;
	inset-inline-end: -5px;
	margin-block-start: -5px;
	cursor: ew-resize;
}

.cropper-point.point-n {
	inset-block-start: -5px;
	inset-inline-start: 50%;
	margin-inline-start: -5px;
	cursor: ns-resize;
}

.cropper-point.point-w {
	inset-block-start: 50%;
	inset-inline-start: -5px;
	margin-block-start: -5px;
	cursor: ew-resize;
}

.cropper-point.point-s {
	inset-block-end: -5px;
	inset-inline-start: 50%;
	margin-inline-start: -5px;
	cursor: s-resize;
}

.cropper-point.point-ne {
	inset-block-start: -5px;
	inset-inline-end: -5px;
	cursor: nesw-resize;
}

.cropper-point.point-nw {
	inset-block-start: -5px;
	inset-inline-start: -5px;
	cursor: nwse-resize;
}

.cropper-point.point-sw {
	inset-block-end: -5px;
	inset-inline-start: -5px;
	cursor: nesw-resize;
}

.cropper-point.point-se {
	inset-inline-end: -5px;
	inset-block-end: -5px;
	cursor: nwse-resize;
}

.cropper-point.point-se::before {
	position: absolute;
	inset-inline-end: -50%;
	inset-block-end: -50%;
	display: block;
	inline-size: 200%;
	block-size: 200%;
	background-color: var(--theme--primary);
	opacity: 0;
	content: ' ';
}

.cropper-invisible {
	opacity: 0;
}

.cropper-bg {
	background-image: url('');
}

.cropper-hide {
	position: absolute;
	display: block;
	inline-size: 0;
	block-size: 0;
}

.cropper-hidden {
	display: none !important;
}

.cropper-move {
	cursor: move;
}

.cropper-crop {
	cursor: crosshair;
}

.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
	cursor: not-allowed;
}
